1. Field of the Invention
The present invention relates to computer networking. More particularly, the invention relates to networking peripheral universal serial bus (USB) devices.
2. Background Art
A personal computer or workstation tends to have a standard set of input devices to allow it to be controlled. These devices include: keyboard, mouse, joystick, game pad and steering wheel. The Universal Serial bus (USB) is available as a single bus that can accommodate these devices.
Computers implement USB as a host. The host is the one master on an instance of USB. All USB devices are slaves. The only device that has any mastering capabilities is a USB hub. USB hubs are allowed to assert master signaling on their downstream ports only in immediate and direct response to signaling on their upstream port.
A computer accesses a USB device via a Host Controller Driver (HCD). The HCD allows the computer to determine what USB devices are attached, characterize them, enable them and use them. For example, a keyboard may be discovered and configured as a system input device.
Network devices are typically not equipped to be USB hosts. Even if they were, cabling requirements and distance limitations would restrict the usefulness of USB as a network peripheral bus. Network devices are typically controlled either by a local serial port running a simple terminal protocol, or a network protocol (e.g. telnet, SNMP) running over an IP network. The network protocols used to interact with a network device are typically device independent and are used for special purpose status and control functions or network services.
In some cases, it is desirable that USB peripheral devices be able to interact with network devices. For example, such functionality would allow a USB device to interface with network devices over a network without the need for a standard terminal or computer. Also, this would allow applications such as remote gaming to be enhanced because raw device input data could be routed to a remote server where the game was running. This would allow users without computers (other than a gateway) to run arbitrarily complex games and applications.